import { IsString, MinLength, MaxLength, Matches } from 'class-validator';

/**
 * 修改密码 DTO
 */
export class ChangePasswordDto {
  @IsString({ message: '旧密码必须是字符串' })
  @MinLength(6, { message: '旧密码长度不能少于6个字符' })
  oldPassword: string;

  @IsString({ message: '新密码必须是字符串' })
  @MinLength(6, { message: '新密码长度不能少于6个字符' })
  @MaxLength(20, { message: '新密码长度不能超过20个字符' })
  @Matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/, {
    message: '新密码必须包含大小写字母和数字',
  })
  newPassword: string;
}

